/* 
  1. 页面加载的时候，
    1.缓存购物车数据 渲染到页面中
    2. 这些数据checked数据必须是true
  2. 微信支付
    1. 那些人 那些账号可以支付
      1. 企业账号
      2. 企业账号的小程序后台中，必须给开发者加上白名单
        1. 一个appid可以绑定多个开发者
        2. 这些开发者就可以公用appid的开发权限
  3. 支付按钮
    1. 判断缓存中有没有token
    2. 没有 跳转到授权页面 进行获取token
    3. 有 =>
*/

import regeneratorRuntime from '../../lib/runtime/runtime';
import { request } from '../../request/index.js'
Page({
  data: {
    address: [],
    cart: [],
    totalPrice: 0, // 总价格，总数量
    totalNum: 0
  },
  onShow() {
    // 获取缓存中的数据
    const address = wx.getStorageSync("address")
    // 获取缓存中购物车数据
    let cart = wx.getStorageSync("cart") || []
    // 过滤后的购物车数组
    cart = cart.filter(v=>v.checked);
    if(cart.length == 0) {
      wx.navigateBack({
        delta: 2
      });
    }
    let totalPrice = 0;
    let totalNum = 0;
    cart.forEach( v => {
      totalPrice += v.num * v.goods_price;
      totalNum += v.num
   });
    this.setData({
      address,
      cart,
      totalPrice,
      totalNum
    })
  },
  // 支付
  async handleOrderPay() {
    // 1. 判断缓存中有没有token,由于不是企业appid获取不到token，这里得到一个假的的token
    const token = wx.getStorageSync('token');
    // 2. 判断
    if(!token) {
      // 跳转到授权页
      wx.navigateTo({
        url: '/pages/auth/index'
      });
      return
    }
    wx.navigateTo({
      url: '/pages/order/index'
    });
    let newCart = wx.getStorageSync("cart");
    newCart = newCart.filter(v=>!v.checked)
    wx.setStorageSync("cart", newCart);
    // 创建订单
    // 请求头
    // const header = {Authorization:token}
    // // 请求体参数
    // const order_price = this.data.totalPrice
    // const consingee_addr = this.data.address.all
    // const cart = this.data.cart
    // let goods = []
    // cart.forEach(v=>goods.push({
    //   goods_id: v.goods_id,
    //   goods_num: v.num,
    //   goods_price: v.goods_price 
    // }))
    // const orderParams = {order_price,consingee_addr,goods}
    // // 准备发送请求创建订单获取订单编号
    // const res = await request({url: "/my/orders/create",method: "post",data: orderParams,header})
    // // 显然请求头是错误的，res没有数据
    // console.log(res);
  }
 })